import permision from "@/components/permission.js"
//------------------------------------------------封装一个密码加密程序md4加密------------------------------------------------
export function md4 (value) {
  var v = "";
  var p = value.length;

  for (var i = 0; i < value.length; i++) {
      v += "-" + (value.charCodeAt(i) - p).toString(16);
  };
  return p.toString() + v;
};

//------------------------------------------------将秒转换成时间------------------------------------------------

export function timeFilter(seconds){
	let ss = Math.floor(seconds)// 秒
	let mm = 0// 分
	let hh = 0// 小时
	if (ss > 60) {
		mm = Math.floor(ss / 60);
		ss = Math.floor(ss % 60);
	}
	if (mm > 60) {
		hh = Math.floor(mm / 60);
		mm = Math.floor(mm % 60);
	}

	let result = ('00' + Math.floor(ss)).slice(-2);
	if (mm > 0)
		result = ('00' + Math.floor(mm)).slice(-2) + ':' + result;
	else
		result = '00:' + result;
	if (hh > 0)
		result = ('00' + Math.floor(hh)).slice(-2) + ':' + result;
	return result;
}
//------------------------------------------------判断当前用户设备是安卓还是ios------------------------------------------------
let userPlatform=""
  // #ifdef APP-PLUS
    uni.getSystemInfo({
        success(res) {
            if(res.platform=='ios'){ //IOS
               userPlatform="ios"
            } else if (res.platform=='android'){ //安卓
                userPlatform="android"
            }
        }
    });
    // #endif


//------------------------------------------------获取用户授权情况------------------------------------------------
// 安卓用户授权
   // =====>  Android是动态权限，请求权限状态时会触发弹框询问是否赋权（如果已经同意或永久禁止则不会询问），所以必须使用异步方式来处理
export async function requestAndroidPermission(permisionID) {
	 // #ifdef APP-PLUS
    var result = await permision.requestAndroidPermission(permisionID)
    var strStatus
    if (result == 1) {
        strStatus = "已获得授权"
    } else if (result == 0) {
        strStatus = "未获得授权"
    } else {
        strStatus = "被永久拒绝权限"
    }
	getRoot(result,permisionID)
	console.log(permisionID,strStatus,'我是这个应用获取用户授权情况')
	return result
	// #endif
}

// IOS用户授权
export async function requestIosPermission(permisionID){
	let result=permision.judgeIosPermission(permisionID)      //返回值是布尔类型的数据,  false拒绝,true运行
	getRoot(result,permisionID)
	return result  
}


//引导用户进行页面授权
export async function gotoAppPermissionSetting(){               //不区分安卓和ios
	permision.gotoAppPermissionSetting()   //引导用户进行页面授权
}

//用户直接调取授权函数,然后自动判断是安卓还是ios系统,分别调取不同的授权功能
export async function requestPermission(permisionID){
	let result=""
	if(userPlatform=="android") result=await requestAndroidPermission(permisionID)
	if(userPlatform=="ios")     result=await requestIosPermission(permisionID)
	return result
}


//------------------------------------------------判断是获取什么权限作出对应的操作------------------------------------------------
function getRoot(value,permisionID){
	let message=""
	if(permisionID=="android.permission.ACCESS_FINE_LOCATION" || permisionID=="location"){  //代表是开启定位功能
	    message="请在权限里面开启位置信息授权"
	}  
	if(value==-1 || value==false){  //-1代表永久拒绝了授权
				uni.showModal({
					 content:message,
					 confirmText:"去授权",
					 success: function (res) {
						   if (res.confirm) {
						         gotoAppPermissionSetting()
						      }
				     }
						    });
	}
}

//------------------------------------------------获取当前手机是否开启或关闭了定位服务------------------------------------------------
//不区分安卓和ios
export async function checkSystemEnableLocation(){
	let result=permision.checkSystemEnableLocation() //返回true或false
	return result
}

//------------------------------------------------申请用户定位权限功能------------------------------------------------
export async function chooseLocation(successFn){
	// #ifdef APP-PLUS
	let result=""
    // 先判断定位权限是否开启
    uni.getLocation({
        success(res){
			console.log(res.longitude,'经度')
			console.log(res.latitude,'纬度')
		    result={
				longitude:res.longitude,
				latitude:res.latitude
			}
			return result
        },
    })
	// #endif
}
